package com.desksoft.ecommerce.service.interf.mall;

import java.util.List;

import com.desksoft.ecommerce.entity.logistics.dto.Clientitem;
import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.mall.ClientInfoQryVO;
import com.desksoft.ecommerce.vo.mall.ClientInfoVO;
import com.desksoft.ecommerce.vo.mall.ClientItemQryVO;
import com.desksoft.ecommerce.vo.mall.SendSmsVO;
import com.desksoft.utility.service.ServiceInterface;

/**
 * @author LiuWenLong
 * @version 2012-12-28 下午1:56:04
 * @description ClientService
 * @copyright 杭州迪科软件 保留所有权利
 */
public interface IClientInfoService extends ServiceInterface {

	/**
	 * @author LiuWenLong
	 * @version 2012-12-28 下午1:57:23
	 * @description 聊天用户授权
	 * @return
	 */
	public ServiceResult<String> selectChatAuthClientInfo(ClientInfoVO clientInfo);

	/**
	 * @author wgl
	 * @version 2012-3-15 下午1:57:23
	 * @description 验证用户是否存在
	 * @return
	 */
	
	public ServiceResult<String> verifyClientInfo(ClientInfoVO clientInfo);
	
	/**
	 * @author wgl
	 * @version 2012-3-15 下午1:57:23
	 * @description 注册第一步
	 * @return
	 */
	
	public ServiceResult<ClientInfoVO> insertClientInfo(ClientInfoVO clientInfo);
	
	/**
	 * @author wgl
	 * @version 2012-3-15 下午1:57:23
	 * @description 修改账号状态值
	 * @return
	 */
	
	public ServiceResult<Boolean>  updateClientInfo(ClientInfoVO clientInfo);
	
	/**
	 * @author wgl
	 * @version 2012-3-15 下午1:57:23
	 * @description 完善帐号信息
	 * @return
	 */
	public ServiceResult<Boolean> updateClientInfoVo(ClientInfoVO clientInfo);
	
	/**
	 * @author wgl
	 * @version 2012-3-15 下午1:57:23
	 * @description 根据clientcode 查询
	 * @return
	 */
	
	public ServiceResult<ClientInfoVO> selectClientInfoKey(ClientInfoVO clientInfo);
	
	/**
	 * @author fy
	 * @version 2013-4-25 
	 * description 根据 用户邮箱 查找用户信息
	 * @return
	 */
	public ServiceResult<ClientInfoVO> selectClientInfoByEmail( ClientInfoQryVO InfoQryVO );
	
	/**
	 * 查询专供商品
	 * supstatus == 1
	 * clientcode = '登陆过户编号'
	 */
	public ServiceResult<List<Clientitem>> selectMallClientItemList(ClientItemQryVO clientItemQryVO) ;
	
	/**
	 * 用户退货记录 数
	 * 
	 */
	public ServiceResult<Integer> selectReturnItemsRecordCount( String clientcode );
	
	/**
	 * 校验验证码
	 * @param code
	 * @return
	 */
	public ServiceResult<Boolean> velidateYanzhengMa(String code, String Mobile);
	
	/**
	 * 校验验证码
	 * @param sendSmsVO
	 * @return
	 */
	public ServiceResult<Boolean> regSmsVed(SendSmsVO sendSmsVO);
	
	/**
	 * 查询经销商名录
	 * @param clientInfoVO
	 * @return
	 */
	public ServiceResult<List<ClientInfoVO>> selectByClientInfoAreaNo(ClientInfoVO clientInfoVO,String pageStatus);
	
	/**
	 * 根据主键修改用户信息
	 */
	public ServiceResult<Boolean> updateClientInfoPKSelective(ClientInfoVO clientInfoVO);
}
